feat: Add AWS Route53 DNS record management components#3085
Merged
lucaspin merged 7 commits intosuperplanehq:mainfrom Feb 17, 2026
Merged
feat: Add AWS Route53 DNS record management components#3085lucaspin merged 7 commits intosuperplanehq:mainfrom
lucaspin merged 7 commits intosuperplanehq:mainfrom
Conversation
web_src/src/pages/workflowv2/mappers/aws/route53/create_record.ts
Outdated
Show resolved
Hide resolved
Contributor
|
@yinebebt I think it would be better if the components waited until the change is not in PENDING state anymore, and have reached the INSYNC state, before finishing the execution. It seems like that takes up to 60s, so it would be probably OK to poll on that. You can check how the aws.ecr.scanImage handles that |
3b524c0 to
78c8d6c
Compare
Adds Create, Upsert, and Delete DNS record components for the AWS Route53 integration, enabling users to manage DNS records within existing hosted zones as part of SuperPlane workflows. Signed-off-by: yinebebt <yintar5@gmail.com>
- Poll until change status is INSYNC - Parse InvalidChangeBatch XML error format in parseError - Consolidate create/upsert/delete mappers to one shared record.ts Signed-off-by: yinebebt <yintar5@gmail.com>
78c8d6c to
e9651e7
Compare
lucaspin
reviewed
Feb 16, 2026
Contributor
|
@yinebebt everything looks good. I'll make a few small polishing changes, and will merge shortly. |
Signed-off-by: Lucas Pinheiro <lucas@superplane.com>
Signed-off-by: Lucas Pinheiro <lucas@superplane.com>
Signed-off-by: Lucas Pinheiro <lucas@superplane.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
ishaksebsib
pushed a commit
to ishaksebsib/superplane
that referenced
this pull request
Feb 17, 2026
…3085) Implements the AWS Route53 integration (closes superplanehq#3059), adding three new components for managing DNS records in Route53 hosted zones. ### New Components - **Create DNS Record** (`aws.route53.createRecord`) - creates a new DNS record in a hosted zone (fails if record already exists) - **Upsert DNS Record** (`aws.route53.upsertRecord`) - creates or updates a DNS record (idempotent, safe for repeated runs) - **Delete DNS Record** (`aws.route53.deleteRecord`) - deletes an existing DNS record from a hosted zone ### Technical notes - Route53 uses an XML-based API (unlike most AWS JSON APIs), so a custom HTTP client handles XML marshaling/unmarshaling and a local `parseError` for Route53-specific XML error responses - Route53 is a global service - the client uses `us-east-1` for signing and the global `route53.amazonaws.com` endpoint - Hosted zone IDs returned by AWS include a `/hostedzone/` prefix which is normalized before use in API calls - Reuses existing `common.CredentialsFromInstallation` for AWS OIDC credential exchange --------- Signed-off-by: yinebebt <yintar5@gmail.com> Signed-off-by: Lucas Pinheiro <lucas@superplane.com> Co-authored-by: Lucas Pinheiro <lucas@superplane.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the AWS Route53 integration (closes #3059), adding three
new components for managing DNS records in Route53 hosted zones.
New Components
aws.route53.createRecord) - creates a new DNS record in ahosted zone (fails if record already exists)
aws.route53.upsertRecord) - creates or updates a DNS record(idempotent, safe for repeated runs)
aws.route53.deleteRecord) - deletes an existing DNS recordfrom a hosted zone
What's included
pkg/integrations/aws/route53/): Route53 XML API client with SigV4signing, hosted zone resource listing for the UI picker, component implementations
with configuration validation, example outputs, and inline documentation
web_src/): Component mappers (node rendering, execution details,state registries), Route53 SVG icon, integration icon mapping
scenarios (success, API errors, missing credentials, invalid config)
docs/components/AWS.mdxTechnical notes
handles XML marshaling/unmarshaling and a local
parseErrorfor Route53-specificXML error responses
us-east-1for signing and the globalroute53.amazonaws.comendpoint/hostedzone/prefix which is normalizedbefore use in API calls
common.CredentialsFromInstallationfor AWS OIDC credential exchangeTest plan
hosted zone, and executed Upsert DNS Record to create an A record via a workflow
trigger. Verified record appeared in the AWS Route53 console.
go test ./pkg/integrations/aws/route53/...)Demo video: https://vimeo.com/1164625934?share=copy&fl=sv&fe=ci